This invention relates to gaming peripherals for gaming machines such as slot machines and video poker machines. More particularly, the present invention relates to communication hardware and methods between gaming devices.
There is a wide variety of associated devices that can be connected to a gaming machine such as a slot machine or video poker machine. Some examples of these devices are lights, ticket printers, card readers, speakers, bill validators, coin acceptors, coin dispensers, display panels, key-pads, touch screens, player-tracking units and button pads. Many of these devices are built into the gaming machine. Often, a number of devices are grouped together in a separate box that is placed on top of the gaming machine. Devices of this type are commonly called a top box.
Typically, the gaming machine controls various combinations of devices. These devices provide gaming functions that augment the characteristics of the gaming machine. Further, many devices such as top boxes are designed to be removable from the gaming machine to provide flexibility in selecting the game characteristics of a given gaming machine.
The functions of any device are usually controlled by a “master gaming controller” within the gaming machine. For example, during a game the master gaming controller might instruct lights to go on and off in various patterns, instruct a printer to print a ticket or send information to be displayed on a display screen. For the master gaming controller to perform these operations, connections from the device are wired directly into some type of electronic board (e.g., a “back plane” or “mother board”) containing the master gaming controller.
To operate a device, the master gaming controller requires parameters, operational characteristics and configuration information specific to each peripheral device. This information is incorporated into software and stored in some type of memory device on the master gaming controller. This device-specific software operates the functions of the device during a game. As an example, to operate a set of lights, the software for the master gaming controller would require information such as the number and types of lights, functions of the lights, signals that correspond to each function, and the response time of the lights.
Traditionally, in the gaming industry, gaming machines have been relatively simple in the sense that the number of peripheral devices and the number of functions the gaming machine has been limited. Further, in operation, the functionality of gaming machines was relatively constant once the gaming machine was deployed, i.e., new peripheral devices and new gaming software were infrequently added to the gaming machine. Often, to satisfy the unique requirements of the gaming industry in regards to regulation and security, circuit boards for components, such as the backplane and the master gaming controller, have been custom built with peripheral device connections hard-wired into the boards. Further, the peripheral device connections, communication protocols used to communicate with the peripheral devices over the peripheral device connections, and software drivers used to operate the peripheral devices have also been customized varying from manufacturer to manufacturer and from peripheral device to peripheral device. For example, communication protocols used to communicate with peripheral devices are typically proprietary and vary from manufacturer to manufacturer.
In recent years, in the gaming industry, the functionality of gaming machines has become increasingly complex. Further, the number of manufacturers of peripheral devices in the gaming industry has greatly increased. After deployment of a gaming machine, there is a desire to i) easily add new capabilities that are afforded by new/upgraded gaming software and new/upgraded peripheral devices from a wide variety of manufacturers and ii) easily change the combinations of internal/external peripheral devices deployed on the gaming machines.
The personal computer industry has dealt with issues relating to device compatibility and, in recent years, there has been a desire in the gaming industry to adapt technologies used in the personal computer industry to gaming. At first glance, one might think that adapting PC technologies to the gaming industry would be a simple proposition because both PCs and gaming machines employ microprocessors that control a variety of devices. However, because of such reasons as 1) the regulatory requirements that are placed upon gaming machines, 2) the harsh environment in which gaming machines operate, 3) security requirements and 4) fault tolerance requirements, adapting PC technologies to a gaming machine can be quite difficult. Further, techniques and methods for solving a problem in the PC industry, such as device compatibility and connectivity issues, might not be adequate in the gaming environment. For instance, a fault or a weakness tolerated in a PC, such as security holes in software or frequent crashes, may not be tolerated in a gaming machine because in a gaming machine these faults can lead to a direct loss of funds from the gaming machine, such as stolen cash, or loss of revenue when the gaming machine is not operating properly.
For the purposes of illustration, a few differences between PC systems and gaming systems are described as follows. A first difference between gaming machines and common PC based computers systems is that gaming machines are designed to be state-based systems. In a state-based system, the system stores and maintains its current state in a non-volatile memory, such that, in the event of a power failure or other malfunction the gaming machine will return to its current state when the power is restored. For instance, if a player was shown an award for a game of chance and, before the award could be provided to the player the power failed, the gaming machine, upon the restoration of power, would return to the state where the award is indicated. As anyone who has used a PC, knows, PCs are not state machines and a majority of data is usually lost when a malfunction occurs. This requirement affects the software and hardware design on a gaming machine.
A second important difference between gaming machines and common PC based computer systems is that for regulation purposes, the software on the gaming machine used to generate the game of chance and operate the gaming machine has been designed to be static and monolithic to prevent cheating by the operator of gaming machine. For instance, one solution that has been employed in the gaming industry to prevent cheating and satisfy regulatory requirements has been to manufacture a gaming machine that can use a proprietary processor running instructions to generate the game of chance from an EPROM or other form of non-volatile memory. The coding instructions on the EPROM are static (non-changeable) and must be approved by a gaming regulators in a particular jurisdiction and installed in the presence of a person representing the gaming jurisdiction. Any changes to any part of the software required to generate the game of chance, such as adding a new device driver used by the master gaming controller to operate a device during generation of the game of chance can require a new EPROM to be burnt, approved by the gaming jurisdiction and reinstalled on the gaming machine in the presence of a gaming regulator. Regardless of whether the EPROM solution is used, to gain approval in most gaming jurisdictions, a gaming machine must demonstrate sufficient safeguards that prevent an operator of a gaming machine from manipulating hardware and software in a manner that gives them an unfair and some cases an illegal advantage. The code validation requirements in the gaming industry affect both hardware and software designs on gaming machines.
A third important difference between gaming machines and common PC based computer systems is the number and kinds of peripheral devices used on a gaming machine are not as great as on PC based computer systems. Traditionally, in the gaming industry, gaming machines have been relatively simple in the sense that the number of peripheral devices and the number of functions the gaming machine has been limited. Further, in operation, the functionality of gaming machines were relatively constant once the gaming machine was deployed, i.e., new peripherals devices and new gaming software were infrequently added to the gaming machine. This differs from a PC where users will go out, buy different combinations of devices and software from different manufacturers, and connect them to a PC to suit their needs depending on a desired application. Therefore, the types of devices connected to a PC may vary greatly from user to user depending in their individual requirements and may vary significantly over time.
Although the variety of devices available for a PC may be greater than on a gaming machine, gaming machines still have unique device requirements that differ from a PC, such as device security requirements not usually addressed by PCs. For instance, monetary devices, such as coin dispensers, bill validators and ticket printers and computing devices that are used to govern the input and output of cash to a gaming machine have security requirements that are not typically addressed in PCs. Therefore, many PC techniques and methods developed to facilitate device connectivity and device compatibility do not address the emphasis placed on security in the gaming industry.
Another issue not typically addressed in PCs but important in the gaming industry is the existence of many versions of the same type of device. This specialization in the gaming industry results from the limited number of devices used on a gaming machine in conjunction with a large number of manufacturers competing in the market to supply these devices. Further, the entertainment aspect of gaming machines leads constantly to the development of groups of related devices, such as a group of mechanical wheels or a group of lights employed on a gaming machine, with different operating functions provided solely for entertainment purposes.
One disadvantage of the current method of operation for devices controlled by a master gaming controller is that each time a device is replaced the gaming machine must be shut down. Then, the wires from the device are disconnected from the master gaming controller and the master gaming controller is rewired for the new device. A device might be replaced to change the game characteristics or to repair a malfunction within the device. Similarly, if the circuit board containing the master gaming controller or the master gaming controller itself needs repair, then the wiring from all of the devices connected to the gaming controller must be removed before the gaming controller can be removed. After repair or replacement, the master gaming controller must be rewired to all of the devices. This wiring process is time consuming and can lead to significant down time for the gaming machine. Further, the person performing the installation requires detailed knowledge of the mechanisms within the gaming machine because wiring harnesses, plugs and connectors can vary greatly from gaming device to gaming device and manufacturer to manufacturer. Accordingly, it would be desirable to provide methods and techniques for installing or removing devices and master gaming controllers that simplifies this wiring process and satisfy the unique requirements of the gaming industry.
Another disadvantage of the current operational method of devices used by the gaming machine involves the software for the devices. When a new device is installed on a gaming machine, software specific to the device must be installed on the gaming machine. Again, the gaming machine must be shut down and the person performing this installation process requires detailed knowledge of the gaming machine and the device. Further, the software installation process may have to be performed in the presence of an authority from a regulatory body. Accordingly, it would be desirable to provide methods and techniques that simplify the software installation process and satisfy the unique requirements of the gaming industry.
Another disadvantage of the current gaming environment is that, if the software has not been employed on a gaming machine before, it must be thoroughly tested, verified, and submitted for regulatory approval before it can be placed on a gaming machine. Further, after regulatory approval or as part of the approval process the software is also then tested in the field after placement on the gaming machine. As an example, if the operating characteristics of a gaming device are modified, such that, a new device driver to operate the device is required, then the costs associated with developing and deploying the new device driver on the gaming machine can be quite high.
Further, gaming machine manufacturers are responsible for the reliability of the product that they sell including gaming devices and gaming software provided by third party vendors. These manufacturers are interested in taking advantage of the capabilities offered by third party vendors. However, if a gaming machine manufacturer has to spend an extensive amount of time verifying that third party software is secure and reliable, then it may not be worth it to the manufacturer to use third party software. Accordingly, it would be desirable to provide methods and techniques that simplify the software development and software testing process on gaming machines.